/*
 * @Author: heliuxia heliuxia@163.com
 * @Date: 2023-04-02 12:58:48
 * @LastEditors: heliuxia heliuxia@163.com
 * @LastEditTime: 2023-04-08 11:34:47
 * @FilePath: /chatgpt-web/src/utils/is/date.js
 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 */
// 给Date类添加了一个新的实例方法format
// eslint-disable-next-line no-extend-native
// @ts-ignore
Date.prototype.format = function (fmt: string) {
  console.log('fmt', fmt)
  const o = {
    'M+': this.getMonth() + 1, // 月份
    'd+': this.getDate(), // 日
    'h+': this.getHours(), // 小时
    'm+': this.getMinutes(), // 分
    's+': this.getSeconds(), // 秒
    'q+': Math.floor((this.getMonth() + 3) / 3), // 季度
    S: this.getMilliseconds(), // 毫秒
  }
  if (/(y+)/.test(fmt)) {
    fmt = fmt.replace(RegExp.$1, `${this.getFullYear()}`.substr(4 - RegExp.$1.length))
  }
  for (const k in o) {
    if (new RegExp(`(${k})`).test(fmt)) {
      // @ts-ignore
      fmt = fmt.replace(RegExp.$1, RegExp.$1.length === 1 ? o[k] : `00${o[k]}`.substr(`${o[k]}`.length))
    }
  }
  return fmt
}

// date: 时间对象, pattern: 日期格式
export function formatterDate(date: string, pattern: string) {
  // const ts = date.getTime()
  const ts = date
  // @ts-ignore
  let d = new Date(ts).format('yyyy-MM-dd hh:mm:ss') // 默认日期时间格式 yyyy-MM-dd hh:mm:ss
  if (pattern)
    // @ts-ignore
    d = new Date(ts).format(pattern)

  return d.toLocaleString()
}
